package com.demo.java.OD351_400.OD371;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【报文重排序(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146231901
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        try {
            // 持续读取输入
            while (s.hasNext()) {
                // 读取输入的字符串数量
                int n = Integer.parseInt(s.next());
                // 用于存储输入的所有字符串
                String[] arr = new String[n];
                for (int i = 0; i < n; i++) {
                    arr[i] = s.next();
                }

                // HashMap用于存储数字和字母的映射关系
                HashMap<Integer, String> map = new HashMap<>();
                for (int i = 0; i < arr.length; i++) {
                    // 当前字符串
                    String str = arr[i];
                    // 提取字母部分
                    String letters = str.replaceAll("[0-9]", "");
                    // 提取数字部分
                    String numbers = str.replaceAll("[A-Za-z]", "");
                    // 将数字部分转化为整数
                    int num = Integer.parseInt(numbers);
                    // 存入map，数字为key，字母为value
                    map.put(num, letters);
                }

                // 获取map中的所有数字key并转为列表
                Set<Integer> keys = map.keySet();
                ArrayList<Integer> keyList = new ArrayList<>(keys);
                // 排序数字列表
                Collections.sort(keyList);

                // 按照排序后的数字输出字母部分
                for (int i = 0; i < keyList.size(); i++) {
                    System.out.print(map.get(keyList.get(i)) + " ");
                }
            }
        } catch (NoSuchElementException | NumberFormatException e) {
            e.printStackTrace();
        } finally {
            s.close();
        }
    }
}